//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// 
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU Lesser General Public License for more details.
// 
// You should have received a copy of the GNU Lesser General Public License
// along with this program.  If not, see http://www.gnu.org/licenses/.
// 

import inet.nodes.inet.StandardHost;
import inet.applications.udpapp.UDPBasicApp;

simple CDNApp extends UDPBasicApp
{
    parameters:
        @display("i=block/app");
        @class(CDNApp);
        string trackerAddr;
        int maxConnections;
	int id;
	int graceChunks;
	double sendDataTime;
	bool rank;
}

module CDN extends StandardHost
{
	parameters:
		string trackerAddr;
		@display("i=device/mainframe_vs");

	submodules:
		app: CDNApp;
	
	connections:

	        app.udpOut --> udp.appIn++;
	        app.udpIn <-- udp.appOut++;
}
